#-------------------------Imports---------------------------
from shapes import *
world = TurtleWorld()
qqq = Turtle()
#-------------------------definitions-----------------------
def rdiamond(t, size):
    line(qqq, size*3, -size*5)
    line(qqq, size*2, -size*5)
    line(qqq, -size*2, -size*5)
    line(qqq, -size*3, -size*5)
    line(qqq, -size*3, size*5)
    line(qqq, -size*2, size*5)
    line(qqq, size*2, size*5)
    line(qqq, size*3, size*5)

def sqFlower(t, size):
    for i in range(10):
        t.lt(40)
        square(t, size)
        t.rt(360/100)
    t.rt(10)
    
def vir_rhombus(t, size):
    line(t, size*3, -size*5)
    line(t, -size*3, -size*5)
    line(t, -size*3, size*5)
    line(t, size*3, size*5)

def horazontal_rhombus(t, size):
    t.lt()
    line(t, size*3, -size*5)
    line(t, -size*3, -size*5)
    line(t, -size*3, size*5)
    line(t, size*3, size*5)
    t.rt() 

def lines(t, size):
    line(t, size*3, size*5)
    line(t, size*-3, size*-5)
    line(t, size*-3, size*5)
    line(t, size*3, size*-5)
    line(t, -size*3, -size*5)
    line(t, size*3, size*5)
    line(t, size*3, -size*5)
    line(t, -size*3, size*5)
def shape (t, size=20):
    move(t, 20, 0)
    d=t.delay
    t.delay=0
    arc(t, size)
    t.delay=d
    move(t, 0, size*10)
    rdiamond(t, size)
    move(t, 0, -size*5)
    vir_rhombus(t, size)
    move(t, 0, -size*5)
    move(t, -size*5, 0)
    horazontal_rhombus(t, size)
    move(t, size*5, 0)
    t.delay=0
    line(t, 0, size*10)
    line(t, 0, -size*20)
    move(t, 0, size*10)
    line(t, size*5, 0)
    line(t, -size*10, 0)
    move(t, size*5, 0)
    t.delay = d
    lines(t, size)
    t.delay = 0
    move(t, -size*5, 0)
    t.rt(180)
    square(t, size*5)
    move(t, size*5, 0)
    t.lt(180)
    square(t, size*5)
    move(t, size*15, 0)
    square(t, size*5)
    move(t, size*5, 0)
    t.lt(180)
    square(t, size*5)
    t.delay = d
    t.fd(size*5)
    t.lt(180)
    t.delay = 0
    sqFlower(t, size*2)
    t.lt(180)
    move(t, size*10, 0)
    sqFlower(t, size*2)
    t.lt(180)
    move(t, size*5, 0)
    
    
#-------------------------commands--------------------------
shape(qqq)
wait_for_user()